package com.wolfeyes.common.base;

import com.rabbitmq.client.Channel;
import org.springframework.amqp.core.Message;

import java.io.IOException;

/**
 * @className BaseConsumer
 * @description RabbitMQ顶级核心接口-基础消费接口
 * @title 函数式接口
 * @author Administrator
 * @data 2021/01/20 15:44:42
 */
@FunctionalInterface
public interface BaseConsumer {

    void consume(Message message, Channel channel) throws IOException;
    
    /**
     * @title ReentrantLock-可重入锁-编程思想
     * @title 业务端是否收到消息并是否已确认，默认是[没确认，可重入]
     * @description 业务端扩展-再次确认检查方法
     * @description 如果设置为true，则是严格模式[stringent]
     */
    default boolean doubleCheck() {
    	
    	return false;
    }

}
